home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-02 / tp6dv.zip / DVDEMO.PAS < prev   
Pascal/Delphi Source File  |  1992-02-08  |  3KB  |  148 lines

  1. {
  2. ********************************************************************
  3. *                                                                  *
  4. *  DESQview Demo                                                   *
  5. *  for Turbo Pascal 6.0                                            *
  6. *  Copyright (C) 1992 Jonathan L. Zarate.                          *
  7. *  All Rights Reserved                                             *
  8. *                                                                  *
  9. ********************************************************************
  10. }
  11. { NOTE: Adjust the SYSTEM MEMORY of the program to a NON-ZERO value }
  12. {       SYSTEM MEMORY is found under DESQview's "change a program" menu }
  13.  
  14. Uses dos, dv;
  15.  
  16. var
  17.  Win1 : pointer;
  18.  Win2 : pointer;
  19.  Tim1 : pointer;
  20.  Tim2 : pointer;
  21.  w    : word;
  22.  f    : text;
  23.  s    : string;
  24.  x, y : shortint;
  25.  L1,L2: longint;
  26.  
  27. procedure pause; assembler;
  28. asm
  29.  xor ah,ah
  30.  int $16
  31. end;
  32.  
  33. procedure Delay( w : word );
  34. var
  35.  Timer : pointer;
  36. begin
  37.  Timer:=DVTimer_New;
  38.  DVTimer_Start(Timer,w);
  39.  repeat
  40.  until DVTimer_Len(Timer)=0;
  41.  DVFree(Timer);
  42. end;
  43.  
  44. function strW( w : word ) : string;
  45. var
  46.  s : string;
  47. begin
  48.  str(w,s);
  49.  strW:=s;
  50. end;
  51.  
  52. begin
  53.  Win1:=DVInit;
  54.  if not InDV then
  55.   begin
  56.    writeln('This program requires DESQview.');
  57.    halt(1);
  58.   end;
  59.  DVTitle(Win1, 'DESQview DEMO');
  60.  DVFrameAttr(Win1, 19);
  61.  DVSetAttr(Win1, 31);
  62.  DVMove(Win1, 1, 1);
  63.  DVResize(Win1, 40, 11);
  64.  DVClear(Win1);
  65.  DVRedraw(Win1);
  66.  
  67.  DVDisAllow(Win1, MStream_QuitMenu);
  68.  DVWriteln(Win1,' DESQview version: '+strW(hi(DV_Version))+'.'+
  69.                 strW(lo(DV_Version)));
  70.  DVWriteln(Win1, ' Quit Option Disabled');
  71.  DVWriteln(Win1, ' Press any key to continue...');
  72.  pause;
  73.  
  74.  DVWriteln(Win1, ' Moving...');
  75.  for w:=1 to 20 do
  76.   begin
  77.    DVMove2(Win1, 1, 0);
  78.    DVRedraw(Win1);
  79.    delay(10);
  80.   end;
  81.  for w:=1 to 5 do
  82.   begin
  83.    DVMove2(Win1, 0, 1);
  84.    DVRedraw(Win1);
  85.    delay(10);
  86.   end;
  87.  
  88.  DVWriteln(Win1, ' Press any key to create a new window');
  89.  pause;
  90.  Win2:=DVNewWin( 40, 11 );
  91.  DVTitle(Win2, '  DV DEMO 2');
  92.  DVFrameAttr(Win2, 127);
  93.  DVSetAttr(Win2, 112);
  94.  DVMove(Win2,1,1);
  95.  DVClear(Win2);
  96.  DVRedraw(Win2);
  97.  DVTopProcess(Win2);
  98.  DVWriteln(Win2,' Hello World!');
  99.  
  100.  DVError( Win1, 30, 5, ^J^J'          ERROR TEST', DVErrorMouEither+DVErrorBeep);
  101.  
  102.  DVWriteln(Win2,' Press any key to continue...');
  103.  pause;
  104.  DVBottomProcess(Win2);
  105.  
  106.  assign(f,'C:\TP6\DV\DV.PAS'); { !!- change directory -!! }
  107.  {$I-}reset(f);{$I+}
  108.  if ioresult=0 then
  109.   begin
  110.    while not eof(f) do
  111.     begin
  112.      readln(f,s);
  113.      s:=copy(s,1,38);
  114.      DVWriteln(Win1, s);
  115.      DVWriteln(Win2, s);
  116.     end;
  117.    close(f);
  118.   end else DVWriteln(Win2,' Cannot find DV.PAS');
  119.  
  120.  DVTitle(Win2,'  Countdown');
  121.  DVTopProcess(Win2);
  122.  
  123.  Tim1:=DVTimer_New;
  124.  Tim2:=DVTimer_New;
  125.  DVTimer_Start(Tim1, 10*100);
  126.  DVTimer_Start(Tim2, 09*100);
  127.  repeat
  128.   L1:=DVTimer_Len(Tim1);
  129.   L2:=DVTimer_Len(Tim2);
  130.   str(L1,s);
  131.   DVWrite(Win1,' Countdown: '+s+'     '+#13);
  132.   if L2 > 0 then
  133.    begin
  134.     str(L2,s);
  135.     DVWrite(Win2,' Countdown: '+s+'     '+#13);
  136.    end else if Win2<>nil then DVFree(Win2);
  137.  until L1=0;
  138.  DVWriteln(Win1,^J^M'Bye!');
  139.  
  140.  delay(22);
  141.  for w:=1 to 30 do
  142.   begin
  143.    DVMove2(Win1, -1, 0);
  144.    DVRedraw(Win1);
  145.    delay(4);
  146.   end;
  147.  DVFree(Win1);
  148. end.